package pattern15;

/**
 * “树叶”没有再增加或减少分支的需要，所以add与remove方法没有意义，
 * 但是可以叶子节点和非叶子节点在抽象层的区别，使得它们具有完全一致的接口
 *
 * @author wdl
 */
public class Leaf extends BaseComponent {
    public Leaf(String name) {
        super(name);
    }

    @Override
    public void add(BaseComponent component) {
        System.out.println("叶子节点不能再增加子节点");
    }

    @Override
    public void remove(BaseComponent component) {
        System.out.println("叶子节点没有子节点可以移除");
    }

    @Override
    public void display(int depth) {
        for (int i = 0; i < depth; i++) {
            System.out.print("-");
        }
        System.out.println(name);
    }
}
